Java as an Intermediate Language
نویسندگان
چکیده
We present our experiences in using Java as an intermediate language for the high level program ming language Nesl First we describe the design and implementation of a system for translating Vcode the current intermediate language used by Nesl into Java Second we evaluate this translation by comparing the performance of the original Vcode implementation with several vari ants of the Java implementation The translator was easy to build and the generated Java code achieves reasonable performance when using a just in time compiler We conclude that Java is attractive both as a compilation target for rapid prototyping of new programming languages and as a means of improving the portability of existing programming languages jch cs cmu edu sipelstein cs cmu edu This research is sponsored by theWright Laboratory Aeronautical Systems Center Air Force Materiel Command USAF and the Advanced Research Projects Agency ARPA under grant F The U S Government is authorized to reproduce and distribute reprints for Government purposes notwithstanding any copyright notation thereon Views and conclusions contained in this document are those of the author and should not be interpreted as representing the o cial policies either expressed or implied of ARPA or the U S Government
منابع مشابه
JIL: an Extensible Intermediate Language
The Java Intermediate Language (JIL) is a subset of XML and SGML described in this document. Its goal is to provide an intermediate representation of Java source code suitable for machine use. JIL benefits from the features of XML, such as extensibility and portability, while providing a common ground for software tools. The following document discusses the design issues and overall framework f...
متن کاملChecking Java Programs via Guarded Commands
This paper defines a simple guarded-command–like language and its semantics. The language is used as an intermediate language in generating verification conditions for Java. The paper discusses why it is a good idea to generate verification conditions via an intermediate language, rather than directly. Publication history. This paper appears in Formal Techniques for Java Programs, workshop proc...
متن کاملTyped Intermediate Languages
Programs written in a typed language are guaranteed to satisfy the safety properties of the type system without runtime checks. A type system for an intermediate language allows static verification of safety properties independent of source languages, and opens up opportunities for advanced compiler optimizations. This paper surveys three major intermediate languages: Java bytecode, typed assem...
متن کاملSoftware Development with Object-Z, CSP, and Java: A Pragmatic Link from Formal Specifications to Programs
Object-Z and CSP are high level specification languages which offer powerful formal support for the design of distributed, communicating systems. Java is an ideal implementation language for such systems. But developing provably correct Java implementations from these specifications is notoriously difficult. To bridge this gap we suggest to use Jass, which extends Java with assertions, as an in...
متن کاملAnalysis of the Java Class File Format
Since its release early in 1996, Java [7] enjoys a tremendous popularity [10]. Next to the original tools provided by Sun, a wealth of competing compilers [4, 12] and virtual machines [1, 2, 17] appeared in a relatively short time. Beside its interest as a programming platform, Java may qualify as the most publicized and distributed experiment in intermediate language since the days of UCSD-Pas...
متن کامل